The invention is related generally to electronic circuits, and more particularly to a Viterbi detector and technique for recovering a binary sequence from a read signal. In one embodiment, a servo channel includes a pruned PR4 Viterbi detector that recovers Gray coded servo data read from a data-storage disk. As compared to other servo channels, this PR4 targeted channel allows synchronous detection of the track ID information without oversampling, which allows a significant increase in the density of the servo data stored on the disk, and thus which allows a significant reduction in the disk area allocated to servo data. More specifically, constructing the servo channel to fit a target PR4 power spectrum (defined by a PR4 polynomial) allows the servo channel to perform a lower level of equalization on the servo signal. Lowering the level of equalization often lowers the level of equalization noise introduced into the servo signal, and thus causes less degradation of the servo signal""s signal-to-noise ratio (SNR). Furthermore, the PR4 Viterbi detector is pruned to match a Gray code coding scheme. This pruning increases the minimum Euclidian distance of error events. Therefore, such a pruned PR4 Viterbi detector can often recover servo information from a servo signal having an SNR that is lower than other Viterbi detectors can tolerate. Consequently, because it can process a servo signal having a lower SNR and because it causes less degradation of the servo signal""s SNR, such a servo channel allows a disk to have a higher servo-data storage density.
FIG. 1 is a plan view of a conventional magnetic data-storage disk 10. The disk 10 is partitioned into a numberxe2x80x94here eightxe2x80x94of disk sectors 12a-12h, and includes a numberxe2x80x94typically in the tens or hundreds of thousandsxe2x80x94of concentric data tracks 14a-14n. File data is stored in respective data sectors (not shown) within each track 14. Although the disk 10 is described as having eight disk sectors 12a-2h, it may have more or fewer disk sectors 12.
Referring to FIG. 2, respective servo wedges 16 are located within each track 14 at the beginning of each disk sector 12. For clarity, only servo wedges 16a-16c are shown, it being understood that the other servo wedges are similar. The servo wedges 16 contain respective servo data that allows a head position system (FIG. 11) to position a read-write head (FIGS. 4 and 5) over the track 14 to be read from or written to. The manufacturer of a disk drive (FIG. 11) containing the disk 10 typically writes the servo wedges 16 onto the disk 10 before shipping the disk drive to a customer; neither the disk drive nor the customer alters the servo wedges 16 thereafter.
FIG. 3 is a diagram of the servo wedge 16a of FIG. 2, it being understood that the other servo wedges 16 are similar. Write splices 18a and 18b respectively separate the servo wedge 16a from adjacent data sectors (not shown). A servo address mark (SAM) 20 indicates to the head position system that the read-write head is at the beginning of a servo wedge 16, and thus at the beginning of a disk sector 12. A servo preamble 22 synchronizes the sample clock of a servo channel (FIGS. 4 and 5), and a servo synchronization mark (SSM) 24 identifies the beginning of a head-location identifier 26. A data preamble and a data synchronization mark, which are sometimes similar to the servo preamble 22 and the SSM 24, respectively, are discussed in U.S. patent application Ser. No. 09/410,274, filed Sep. 30, 1999, which is incorporated by reference. The location identifier 26 allows the head position system to coarsely determine and adjust the position of the read-write head with respect to the surface of the disk 10. More specifically, the location identifier 26 includes a sector identifier 28 and a track identifier 30, which respectively identify the disk sector 12xe2x80x94here the sector 12axe2x80x94and the data track 14xe2x80x94here the track 14axe2x80x94that contain the servo wedge 16a. Because the read-write head may read the location identifier 26 even if the head is not directly over the track 14a, the servo wedge 16a also includes bursts 32a-32n, which allow the head position system to finely determine and adjust the position of the read-write head.
FIG. 4 is a block diagram of a conventional read-write head 34 and a read channel 36, which recovers the location identifier 26 from the servo wedges 16 of FIGS. 2 and 3 and provides the recovered identifier to the head position system. The channel 36 is typically used to recover both servo and read data, and thus functions as a servo channel while it is recovering servo data. Therefore, the channel 36 is hereinafter called servo channel 36.
The servo channel 36 includes a preamplifier 38, a continous lowpass filter (LPF) 37, a gain stage 39, an analog-to-digital converter (ADC) 40, a finite-impulse-response (FIR) filter 42, a Viterbi detector 44, and a decoder 46. The head 34 converts the bit sequence that composes the servo wedge 16 into a servo signal, and the preamplifier 38 amplifies the servo signal. The LPF 37 equalizes the servo signal, the gain stage 39 amplifies the signal so as to control the overall gain of the channel 36, the ADC 40 samples and digitizes the amplified signal, and the FIR filter 42 boosts the power of the signal to better equalize consecutive digitized samplesxe2x80x94here two samples at a timexe2x80x94to the target polynomial (e.g., PR4) of the channel 36. The Viterbi detector 44, which is designed for the target polynomial, recovers the servo bit sequence from the servo signal by processing the equalized samplesxe2x80x94here two samples at a time. The decoder 46 decodes the recovered bit sequence and provides the decoded bit sequence to the head position system. Alternatively, if the servo bit sequence is not coded, then the decoder 46 may be omitted such that the Viterbi detector provides the recovered bit sequence directly to the head position system. Other circuit blocks, which are omitted from FIG. 3 for clarity, detect the SAM 20 and the SSM 24 (FIG. 3) and control the timing and other characteristics of the channel 36.
Referring to FIGS. 1 and 4, the storage capacity of the disk 10 is typically limited by its surface area and the minimum servo-signal SNR specified for the Viterbi detector 44. Specifically, the diameter of the disk 10, and thus its surface area, are typically constrained to industry-standard sizes. Therefore, the option of increasing the surface area of the disk 10 to increase its storage capacity is usually unavailable to disk-drive manufacturers. Furthermore, the SNR of the servo signal is a function of the servo-data-storage density on the surface of the disk 10; the higher the storage density, the lower the SNR of the servo signal, and vice-versa. Typically, as the SNR of the servo signal decreases, the number of errors that the Viterbi detector 44 introduces into the recovered servo data increases. Unfortunately, an increase in the number of errors may degrade the effective servo-data-recovery speed of a disk drive to unacceptable levels.
One way to increase the data-storage capacity of the disk 10 is to decrease radial distance, i.e., the pitch, between adjacent data tracks 14. This allows the manufacturer to fit more tracks 14, and thus more data, onto the disk 10.
Unfortunately, decreasing the pitch of the data tracks 14 often decreases the SNR of the servo signal by increasing the inter-symbol interference (ISI) and media noise during reading of the servo data. ISI, media noise, and the affect ISI and media noise have on the SNR of a data read signal such as the servo signal are discussed in U.S. patent application Ser. No. 09/409,923, entitled xe2x80x9cPARITY-SENSITIVE VITERBI DETECTOR AND METHOD FOR RECOVERING INFORMATION FROM A READ SIGNALxe2x80x9d, filed Sep. 30,1999, which is incorporated by reference.
Furthermore, the servo channel 36 may effectively decrease the SNR of the servo signal by heavily equalizing the digitized samples of the signal to a target power spectrum and corresponding target polynomial (e.g., EPR4) that the servo signal does not fit well. The Viterbi detector 44 is often designed for a target polynomial (e.g., EPR4) that requires the FIR filter 42 to heavily equalize the digitized samples of the servo signal so that the filtered samples xe2x80x9cfitxe2x80x9d the target power spectrum represented by the target polynomial. For example, this may occur when the Viterbi detector 44 is used to recover both servo and read data. Because the storage density of the servo data in a track 14 is typically less than the storage density of the read data within the same track, the servo-data field requires different equalization than the read-data field. For reasons that are omitted here for brevity, this different equalization is often required because the power spectrum of the read signal may be quite different than the power spectrum of the servo signal. Therefore the channel 36 is typically constructed to target the power spectrum of the read data, not the servo data. If one equalizes the servo signal to force it to have the same power spectrum as the read signal, then this equalization typically enhances the noise at the frequencies where there is no signal power for the servo signal. Thus, such equalization often introduces a relatively high level of equalization noise into the filtered samples, thus effectively increasing the noise component, and decreasing the SNR, of the servo signal.
Consequently, the servo channel 36 limits the servo-data-storage density, and thus thedata-storage capacity, of the disk 10. Specifically, the servo-data-storage density of the disk 10 must be low enough such that the total effective SNR of the servo signal (the SNR of the servo read signal reduced by the equalization noise) is greater than or equal to the minimum SNR required by the Viterbi detector 44. Therefore, the higher the level of equalization performed by the servo channel 36 and the higher the minimum SNR required by the Viterbi detector 44, the lower the servo-data-storage density of the disk 10 must be.
In accordance with an embodiment of the invention, a Viterbi detector receives a signal that represents a binary sequence having groups of no more and no fewer than a predetermined number of consecutive bits each having a first logic level, where the groups are separated from each other by respective bits having a second logic level. The Viterbi detector recovers the binary sequence from the signal by calculating a respective path metric for each of no more than four possible states of the binary sequence, and determining a surviving path from the calculated path metrics, where the binary sequence lies along the surviving path. In a related embodiment, the Viterbi detector recovers the binary sequence from the signal by calculating respective path metrics for possible states of the binary sequence, calculating multiple path metrics for no more than one of the possible states, and determining the surviving path from the calculated path metrics.
For a binary sequence coded according to a Gray code coding scheme, such a Viterbi detector can accurately recover the coded binary sequence from a servo signal having an effective SNR that is significantly lower than the minimum SNR required by prior Viterbi detectors. Furthermore, the sampled servo signal can be equalized to a target power spectrum (e.g., PR4) that fits the power spectrum of unequalized servo data being read, and thus can operate with a lower level of equalization than prior servo-data detection schemes require. More specifically, a PR4 Viterbi detector is pruned to match the Gray coded coding scheme, thereby increasing the minimum Euclidian distance of the error events. In addition, the servo channel that incorporates the Viterbi detector equalizes the servo signal to a target PR4 power spectrum, which is the same or approximately the same as the power spectrum of the servo data. Thus, this equalization does not increase the noise power of the servo signal as much as an equalization to another target power spectrum (e.g., EPR4) that is different than the servo-data power spectrum.
Therefore, such a Viterbi detector in such a servo channel can recover servo data from a disk having a higher servo-data-storage density than other Viterbi detectors in other servo channels can tolerate.